import { defineStore } from 'pinia'
import { ref } from 'vue'

import type { User } from '@/types/user'

/**
 * 用户store: 存储登陆用户相关数据
 */

export const useUserStore = defineStore('user', () => {
    //全局变量 登陆用户
    //空对象的变量通过 as 断言指定类型
    const user = ref({} as User)

    //存储用户信息
    const setUser = (userData: User) => {
        user.value = userData
    }

    //删除用户信息
    const delUser = () => {
        user.value = {} as User
    }


    //返回变量和方法
    return {
        user,
        setUser,
        delUser,
    }
},
    // 方式1：默认存储所有数据 以store的Id 作为存储的key
    {
        persist: true //开启数据持久化
    }

    //方式2：自定已存储key,指定存储那些数据 (亲测无效)
    // {
    //     persist: {
    //         key: 'user1',
    //         paths: ['meng'],
    //     }
    // }
)
